// 测试函数调用类型检查
use crate::lexer::Lexer;
use crate::parser::Parser;
use crate::type_checker::TypeChecker;

#[test]
fn test_function_call_type_checking_ok() {
    // 测试1：正确的函数调用
    let code1 = "篇章 测试\n\n引言\n毕\n\n正文\n    有 文本 者，为 「墨言」。\n    书 文本。\n毕\n\n结语\n毕\n";
    let mut lexer1 = Lexer::new_with_config(code1, crate::config::InterpreterConfig::default());
    let tokens1 = lexer1.tokenize().unwrap();
    let mut parser1 = Parser::new(tokens1, "test1".to_string(), code1.to_string());
    let ast1 = parser1.parse().unwrap();
    let mut type_checker1 = TypeChecker::new();
    type_checker1.check(&ast1).unwrap();
    assert!(!type_checker1.has_errors(), "正确的函数调用应该有错误");
}

#[test]
fn test_function_call_type_checking_undefined() {}
